pico-8 cartridge // http://www.pico-8.com
version 36
__lua__
--meta variables and functions

--chrome dino
--by yolwoocle
version = "v1.1"

clock=0
gclock=0
debug=false
framebyframe=true

gravity=0.5
groundy=110
jumpforce=-5
spdcap=-5
speed=-1.8
distance=0
bgcolor=7
palette={5, 6, 7}
gbpal=false
palettes={{5,6,7},{1,3,10+128},
--[[night pals]]
{7,6,5},{10+128,3,1}}

canspawn=true

splash=false
splashframe=0
menuscreen=false

gameover = false
gameovertext = false
gmov_y = 0
deathframe = 0

ltr={
{x=112,y=124},--y
{x=116,y=124},--o
{x=120,y=120},--l
{x=112,y=120},--w
{x=124,y=124},--c
{x=124,y=120},--e
}
if stat(6)=="" then
 highscore=0
else
 highscore=tonum(stat(6))
end

newhighscore=false
score = 0
scoreblink = false
blink = 200

poke(0x5f2d,1)

function changepal()
	gbpal=not gbpal
	palette=palettes[gbpal and 2 or 1]
end

function gameov()
 if gameover then
 	menuitem(1,"skip cutscene",  function() deathframe=111 end) 
 
  d=deathframe
  d=abs(d+1)
  dino.sizex=2
  fdead=35+13*2
  if score>tonum(highscore) then
   highscore=score
   sfx(4)
   newhighscore=true
  end
  
  if d==35 then
  	sfx(2)
  end
  if isbtw(d,35,fdead) then
   dinodeathanim()
  elseif fdead<d then
   dino.x=14
   dino.frame=132
   dino.flipx=false
   dino.flipy=false
   dino.sizex=3
   if gmov_y<127 then
    gameovertext=true
    gmov_y = gmov_y + 1
   end
   if isbtw(d,fdead+1,fdead+2)then
    dino.y = dino.y + 1
   elseif d==fdead+4 or d==fdead+8 or d==fdead+12 then
    dino.y = dino.y + 1
   elseif d==fdead+6 or d==fdead+10 then
    dino.y = dino.y - 1
   elseif d==fdead+18 then
    ringy=dino.y-5
   elseif isbtw(d,fdead+19,fdead+20) then
    ringy += 1
   end
  end
  
  deathframe=d
 end
end


function b2d(bool)
--converts false/true to -1/1
 return bool and 1 or -1
end

function sprcoor(index)
--converts sprite index to  
--spritesheet coordinates
 return {x=index%16*8, y=flr(index/16*8)}
end

function sprs(n,x,y,w,h,dw,dh)
--is like spr, but w/ stretch
--doesn't support flipping
 s=sprcoor(n)
 w=(w or 1)*8
 h=(h or 1)*8
 dw=dw or w
 dh=dh or h
 dw = dw * (8*(w/8))
 dh = dh * (8*(h/8))
 x = x - (dw-w)/2
 y = y - (dh-h)/2
 
 sspr(s.x,s.y,w,h,x,y,dw,dh)
end

function isbtw(var,min,max)
 return mid(min,var,max)==var
end

function updscore()
 if clock % 2 == 0 then
  score = score + 1
 end
end

function rand(min,max)
 x=flr(rnd(max-min+1)+min)
 return x
end 

function createanim(
         frame,t,i,min,max,snd,
         sndreset)
         --t:speed
         --i:increment	
 if frame<min or frame>max then
  frame=min
 end
 if clock % t == 0 then
 	if(snd != nil) then sfx(snd) end
  frame = frame + i
  if frame > max then
   frame = min
  if(sndreset ~= nil) then sfx(sndreset) end
  end
 end
 return frame
end


-->8
--init,update,draw

 function _init()
  menuitem(2, "change palette", changepal)

  score=0
  cls()
  sfx(5)
  --clip(0,13,128,107)
  for i=1,16 do
   genhills()
  end
  
  --if score is negative,
  --change to gameboy palette
  if highscore==0 then
   splash=true
  elseif highscore<0 then
  	highscore = highscore * -1
  	changepal()
  end
  
  if flr(rnd(100))==0 then
  	changepal()
  end
  
  local xdist=0
  while xdist<140 do
   add(dusts,{x=xdist,
   y=groundy,t=rand(39,43)})
    
   xdist = xdist + rand(12,19)
  end
 end
 
 ------------
 ---update---
 ------------
 function _update()
  clock = clock +  1
--splash
  if splash then 
   if btn(4) then
   	splash=false
   	splashframe=0
  	end
  else
  	if splashframe<10 then
   	splashframe = splashframe + 1
  	end
  end
  
  if not gameover and not splash then
   gclock = gclock + 1
   if(gclock% 2 == 0) then score = score + 1 end
   speed = speed - 0.001
   if speed<spdcap then
    speed=spdcap
   end
   distance = distance - speed
   
   dinocontrols()
   dino.yvel = dino.yvel + gravity
   dino.y = dino.y + dino.yvel
   dinostretch()
   dinoground()
   animatedino()
  
    if mid(1,btnp(),63)==btnp()then
      canspawn=true
    end
   if distance>200 and canspawn then
	   cactspawn()
	   cactmove()
	   cactdespawn()
	   cactanim()
   end
   
   dustmove()
   dustspawn()
   dustdespawn()
   
   cloudmove()
   cloudspawn()
   clouddespawn()
   
   hillsmove()
   
   --score blinking if it
   --passes 500
   if score%blink == 0 and  gclock>10 then
   	sfx(5)
   	scoreblink = true
   end
   if scoreblink and 
   score%blink>50 then
   	scoreblink = false
   end

   --sun & moon
   local clk=gclock*sunspd
   sunx=cos((clk+920)/360)*50+64
  	suny=sin((clk+920)/360)*-100+127
   moonx=cos((clk+750)/360)*50+64
   moony=sin((clk+750)/360)*-100+127
   local gy=groundy
   if suny>gy+5 then
   	sunsetphase=1
   elseif isbtw(suny,gy+0,gy+5)then
   	sunsetphase=2
   elseif isbtw(suny,gy-0,gy-5)then
   	sunsetphase=3
   elseif isbtw(suny,gy-5,gy-10)then
   	sunsetphase=4
   elseif suny<gy-10 then
   	sunsetphase=5
   end
   
   if not debug then
    gameover = dinocheckhit()
   end
  end
  
  
  gameov()
  if gameover and btn(5) and deathframe>100 then
   newhighscore=true
   run(-b2d(gbpal)*highscore)
  end
  
  --small beep after showing 
  --score
  if deathframe == 111 then
  	sfx(6)
  end
  
  if debug then
   --while not btn(4) do 
   --end
   while btn(4) do 
   end
  end
 end
 ------------
 ---update---
 ------------

 ------------
 --- draw ---
 ------------
 function _draw()
  --splash dark bg
  pal()
  delay=10
  incr=5
  if incr+delay<deathframe then
   pal(7,6)
   pal(6,5)
  end
  if incr*2+delay<deathframe then
   pal(7,5)
   pal(6,5)
  end
  
  --sky
  --5 highest 1 lowest
  local colbk=7
  local colfrt=5
  if(sunsetphase<4) then colbk=6 end
  rectfill(0,0,127,127,colbk)
  local dofill=true
  if sunsetphase==5 then
  	dofill=false
  elseif sunsetphase==4 then
  	fillp(0x5A5A)
  	colfrt=6
  elseif sunsetphase==3 then
  	fillp(0xFFFF)
  	colfrt=6
  elseif sunsetphase==2 then
  	fillp(0x5A5A)
  elseif sunsetphase==1 then
  	fillp(0xFFFF)
  end
  if(dofill) then rectfill(0,0,127,127,colfrt) end
  fillp()
  
  --sun
  circ(sunx,suny,sunradius,6)
  --moon
  circfill(moonx,moony,sunradius,6)
  circfill(moonx+sunradius,moony,sunradius,5)
  
  --clouds layer 0
  cloudsdraw(0)
  
  --hills
  hillsdraw(hillsx)
  
  --clouds layer 1
  cloudsdraw(1)
  
  --score
		local sprt=166
		if(sunsetphase<3) then sprt=192 end
  local prnt=tostr(score)
  if scoreblink then
  	if score%10>5 then 
	  	prnt = tostr(flr(score/blink*blink))
  	else 
  		prnt = "nothing"
  	end
  end
  
  if prnt ~= "nothing" then
	  for i=1,6 do
	  	local char=tonum(sub(prnt,i-7,i-7))
	  	if(char==nil) then char=0 end
	  	spr(sprt+char,i*6+80,20)
	  end
	  
	 end
	 for i=1,6 do
		 spr(156,70,27,3,1)
  	local prnt=tostr(highscore)
  	local char=tonum(sub(prnt,i-7,i-7))
  	if(char==nil) then char=0 end
  	spr(182+char,i*5+86,27)
  end
	 
  --ground fill
  rectfill(0,107,127,127,7)
  
  --ground
  line(0,groundy-4,127,
  groundy-4,6)
  
  if(debug)then line(0,groundy,127,
  groundy,9)end
  
  dustdraw()
  
  --dust kick when jump
  if dustkicktime<3 then
   spr(55,
   dino.x+4+(dustkicktime*speed),
   groundy-8)
  end
  
  cactdraw()
  
  dinodraw()

  --game over text
  if gameovertext then
   o=0
   for i=0,7 do
    pal(7,5)
    if isbtw(gmov_y-i,24,26) then
     pal(7,6)
    elseif gmov_y-i>= 27 then
     pal()
    end
    wave=cos((clock+i*7)/45)*2*0.95
    
    spr(i+7,26+o+i*9,
    min(gmov_y-i,30)+wave)
    if(i==3) then o=4 end
    pal()
   end 
   s="x - replay "
   s2="score: "..score
   s3="highscore: "..highscore
   s4="new highscore !"
   if deathframe > 111 then
    --"replay?"
    show=clock%30<15 
    print(s,64-#s*2,80,6)
    if show then
    	print(s,64-#s*2,79,7)
    end
    
    --score
    print(s2,64-#s2*2,47,7)
    print(s3,64-#s3*2,54,6)
    if newhighscore then
     print(s4,64-#s4*2,61,7)
    end
   end
  end
  
--splash screen
  if(highscore==0 and splash) or
  splashframe<10 then
	   cls(7)
    if isbtw(splashframe,2,5) then
     cls(6)
    elseif splashframe<= 2 then
     cls(5)
    end
   pal()
	  spr(206,56,52,2,3)
	  yol={1,2,3,4,2,2,5,3,6}
	  of=0
	  local px=41
	  local py=81
	  for i in all(yol) do
	   sx=ltr[i].x
	   sy=ltr[i].y
	   sw=4
	   if(i==4) then sw=6 end
	   sspr(sx,sy,sw,4,px, py+cos((clock*2+px*7)/45)*0.5*0.95)
	   px = px + 5
	   if(i==4) then px = px + 2 end
  	end
  end
  
--  spr(16,stat(32)-1,stat(33)-1)
--  pset(stat(32),stat(33),8)
  
  --debug text
  if debug then
   print("cpu",5,10,8)
   print(stat(1),20,10,8)
   print("fps",5,20,8)
   print(stat(7),20,20,8)
   
   pset(stat(32),stat(33),9)
   print("x"..stat(32),5,52)
   print("y"..stat(33),5,58)
   
   print("dist  "..distance,10,30,5)
   print("clock "..clock,10,36)
   print("speed "..speed,10,42)
  end
  
--palette
		local n=day and 0 or 2
		palette=palettes[(gbpal and 2 or 1)+n]
		pal(5,palette[1],1)
		pal(6,palette[2],1)
		pal(7,palette[3],1)
		
		
		
		--cartridge cover
 	if false then
 		cls(7)
 		map(16,0)
 		sspr(16,48,16,16,25,50,32,32)
 		rect(0,100,127,101,6)
 		sspr(80,48,16,16,75,74,32,32)
 		sspr(56,16,5*8,8,0,106,5*16,16)
 		sspr(56,16,5*8,8,70,106,5*16,16)
 		sspr(0,104,6*8,2*8,16,10,6*16,2*16)
 	end
 end
-->8
--dino functions
dino = {
 x=15,
 y=96,
 yvel=0,
 timeoffground=0,
 timeground=0,
 frmcrouch=0,
 maxjump=-6,
 maxhold=1,
 timeslide=0,
 
 --hitbox
 hitbx=0,
 hitby=0,
 hitbw=0,
 hitbh=0,
 
 --animation
 frame=1,
 flipx=false,
 flipy=false,
 strch=10,
 sizex=1,
 bop=0, 
 
 --states
 jumped=false,
 jumping=false,
 crouching=false,
 grndpounding=false,
 sliding=false,
 grnded=false,
}
flipcount=1
ringy=0


 function animatedino()
  frame=33
  sizex=2
  if dino.grnded then
   --walk
   frame = createanim(dino.frame,
           2,2,96,98,
           nil,nil)--rnd({0,1}))
			
  else
   frame = 98
  end
  if dino.crouching then
   sizex=3
   --crouch
   frame = createanim(dino.frame,
           2,3,100,103)
   if not dino.grnded then
    frame = 100
   end
  end 
  if dino.grndpounding or 
  dino.sliding then
   frame = 108
  end
  dino.sizex = sizex
  dino.frame = frame
 end

 function dinostretch()
  if dino.strch<10 then
    dino.strch = dino.strch - flr(dino.strch/-7)
   elseif dino.strch>10 then
    dino.strch = dino.strch - flr(dino.strch/7)
   end
 end
 
 --controls
 function dinocontrols()
 	up=btn(2)or btn(4)
 	down=btn(3)or btn(5)
 	
  dustkicktime = dustkicktime + 1
  
  if dino.grnded then
   if dino.grndpounding then
    dino.sliding=true
    if dino.timeground==0 then 
     dino.strch=8
     sfx(1)
    end
    if not (down) then
     dino.grndpounding=false
    end
   end
   gravity=0.5
   dino.timeoffground=0
   dino.timeground = dino.timeground + 1
  else
   dino.timeoffground = dino.timeoffground + 1
   dino.timeground=0
  end
  
  if (up) and dino.grnded 
  then
   dino.jumped=true
   dino.yvel=dino.maxjump
   sfx(0)
   dino.strch=20
   
   dustkicktime=0
   if (down) then
   --crouch jump
    dino.jumping=true
    dino.yvel = dino.yvel * 0.8
   end
  end
  
  --hold for higher jump
  if dino.jumped and not (up) 
  and dino.yvel < 0 and 
  dino.yvel >= dino.maxjump 
  then
   dino.yvel = dino.yvel * 0.6
  end
  
  --prevent ground pound if 
  --jumping on grnd while crouch
  --until ⬇️ is released
  if not (down) then
   dino.jumping=false
   dino.sliding=false
  end
  
  if (down) then
  	if not dino.crouching then
  		sfx(3)
  	end
   dino.crouching=true
   dino.frmcrouch = dino.frmcrouch + 1
   if not dino.grnded and 
   not dino.jumping then
    dino.grndpounding=true
    dino.strch = dino.strch + 2
    gravity=2.5
   end
   if dino.frmcrouch==1 and 
   not dino.grndpounding then
    dino.strch=6
   end
  else
   dino.frmcrouch=0
   dino.crouching=false
  end
  
  if dino.crouching then
   dino.hitbx=4
   dino.hitby=6
   dino.hitbw=9
   dino.hitbh=6
  else 
   --walk
   dino.hitbx=4
   dino.hitby=2
   dino.hitbw=7
   dino.hitbh=12
  end
 end
 
 --ground
 function dinoground()
  if dino.y>groundy-16 then
   dino.grnded = true
   dino.yvel = 0
   dino.y=groundy-16
  else
   dino.grnded = false
  end
 end
 
 --collision
 function dinocheckhit()
  hit = false
  
  x1=dino.x + dino.hitbx
  y1=dino.y + dino.hitby
  x2=dino.x + dino.hitbx +
     dino.hitbw
  y2=dino.y + dino.hitby +
     dino.hitbh
  
  for c in all(cact) do
   cx1 = c.x+c.hx
   cy1 = c.y+c.hy
   cx2 = cx1+c.hw
   cy2 = cy1+c.hh
   
   if cx1<x2 and cy1<y2 and
   x1<cx2 and y1<cy2 then
    hit = true
    dino.frame = 3
    deathframe=0
    dino.frame=128
    dino.sizex=2
    dino.strch=10
   end
  end
   
  return hit
 end
 
 
 function dinodeathanim()
  animspeed=2
 
  dino.frame=createanim(dino.frame,animspeed,2,128,131)
  if clock % animspeed == 0 then
   --dino.frame = dino.frame + 2
   flipcount = flipcount + 1
  end
  if dino.frame>130 then
   --dino.frame=128
  end
  if(flipcount>4) then flipcount=1 end
  
  if flipcount>2 then
   dino.flipx = true
   dino.flipy = true
  else
   dino.flipx = false
   dino.flipy = false
  end
 end
 
 
 function dinodraw()
  --dino outline
  pal()
  pal(5,7)
  
  for y=-1,1 do
   for x=-1,1 do
    sprs(dino.frame,dino.x+x,dino.y+y, dino.sizex,2, b2d(not dino.flipx)*(1/(dino.strch/10)), b2d(not dino.flipy)*(dino.strch/10))
  
   end
  end
  
  --dino
  pal()
  sprs(dino.frame,dino.x,dino.y,
  dino.sizex,2,
  b2d(not dino.flipx)*(1/(dino.strch/10)),
  b2d(not dino.flipy)*(dino.strch/10))
  
    --hitbox
  x1=dino.x+dino.hitbx
  y1=dino.y+dino.hitby
  x2=dino.x+dino.hitbx+
     dino.hitbw
  y2=dino.y+dino.hitby+
     dino.hitbh
  if(debug) then rect(x1,y1,x2,y2,8) end

  --dino death ring
  if ringy~=0 then
   spr(5,dino.x-2,ringy)
  end
 end
-->8
--obstacles functions
cact={}
cactdist=20
obstacles={
 --cactus big
 function() return {
 x=127,
 y=groundy-16,
 t="c1",
 s=106,
 sw=2,sh=2,--sprite width and height
 hx=5,hy=4,
 hw=5,hh=10}end,
 --cactus small
 function() return {
 x=127,
 y=groundy-16,
 t="c1",
 s=106,
 sw=2,sh=2,
 hx=5,hy=4,
 hw=5,hh=10}end,
 --cact round
 function() return {
 x=127,
 y=groundy-16,
 t="c3",
 s=111,
 sw=1,sh=2,
 hx=4,hy=6,
 hw=8,hh=8}end,
 --ptero low
 function() return {
 x=140,
 y=groundy-15,
 t="ptero",
 s=78,
 sw=2,sh=2,
 hx=3,hy=6,
 hw=9,hh=3}end,
 --ptero high
 function() return {
 x=140,
 y=groundy-22,
 t="ptero",
 s=78,
 sw=2,sh=2,
 hx=3,hy=6,
 hw=9,hh=3}end,
}

 function cactspawn()
  if cactdist < distance then
   add(cact, rnd(obstacles)())
   cactdist = 
   distance+rand(70,150)
  end
 end
 
 function cactmove()
  for i=1, #cact do
   cact[i].x = cact[i].x + speed
   if cact[i].t=="ptero" then
    cact[i].x = cact[i].x + speed*0.3
   end
  end
 end
 
 function cactanim()
  for i=1, #cact do
   if cact[i].t=="ptero" then
    cact[i].s=createanim(
     cact[i].s,6,2,160,162)
   end
  end
 end
 
 function cactdespawn()
  for i=#cact-1,1,-1 do
   if cact[i].x < -16 then 
    del(cact,cact[i])
   end
  end
 end
 
 function cactdraw()
 --cactus and obstacles
  for i=1, #cact do
   --spr(17,cact[i],
       --groundy-8)
   spr(cact[i].s,cact[i].x,
       cact[i].y,cact[i].sw,
       cact[i].sh)
   if cact[i].t=="c3" then
    spr(cact[i].s,cact[i].x+8,
       cact[i].y,cact[i].sw,
       cact[i].sh,1)
   end
  end
  
  --debug
  for i=1, #cact do
   cx1 = cact[i].x+cact[i].hx
   cy1 = cact[i].y+cact[i].hy
   cx2 = cx1+cact[i].hw
   cy2 = cy1+cact[i].hh
   if(debug) then rect(cx1,cy1,cx2,cy2,11) end
  end
 end
-->8
--hills
hills={1}
hillsincr={1,-1,-1, 1, 0, 1, -1,0 ,-1,1}
hillsy=80+(5*8)
hillsx=0
hillsgeny=6
hillsgx=0
hillsspeed=0.5

bgcact={29,60,61}


 function drawsun()
  
 end

 function genhills()
 --0/ 1\ 2n 3u 4/ 5/ 6n 7\ 8\ 9u
  if hillsgeny > 14 then
   hillsfinish({2,6})
  elseif hillsgeny < 9 then
   hillsfinish({3,9})
  else
   if hills[#hills]<10 then
    l=hills[#hills]
   else 
    l=hills[#hills-1]
   end
   
   if l==0 or l==5 or l==3 or l==9 then
    hillsfinish({0,2,4,6})
   elseif l==1 or l==8 or l==2 or l==6 then
    hillsfinish({1,3,7,9})
   elseif l==4 then
    hillsfinish({5})
   elseif l==7 then
    hillsfinish({8})
   end
  end
 end

 function hillsfinish(t)
  r=rnd(t)
  add(hills,r)
  if rand(1,5)==1 then 
   add(hills,rnd({29,60,61}))
  end
  
  hillsgeny = hillsgeny + hillsincr[r+1]
 end
 
 function hillsmove()
  hillsx = hillsx + flr(speed*hillsspeed)
  if hillsx < -8 then
   hillsx = 0
   hillsgx = hillsgx - 1
   --scrolling
   if hills[1] < 10 then
     hillsy = hillsy - hillsincr[del(hills, hills[1]) + 1] * 8     
   end
   if hills[1]>10 then
    del(hills,hills[1])
   end
    --del(hills,hills[1])
   --end
   genhills()
  end
 end
 

 function hillsdraw(sx)
  y=hillsy
  x=sx
  for i=1, #hills do
--0/ 1\ 2n 3u 4/ 5/ 6n 7\ 8\ 9u
   --ground
   ly=y
   for i=1,ceil((127-y)/8)-3 do
    ly = ly + 8
    spr(62,x,ly)
   end
   
   --hill top
   if hills[i]==0 then
    spr(28,x,y)
    y = y - 8
   elseif hills[i]==1 then
    spr(28,x,y,1,1,1)
    y = y + 8
   elseif hills[i]==2 then
    spr(31,x,y)
    y = y + 8
   elseif hills[i]==3 then
    spr(30,x,y)
    y = y - 8
   elseif hills[i]==4 then
    spr(44,x,y)
   elseif hills[i]==5 then
    spr(45,x,y)
    y = y - 8
   elseif hills[i]==6 then
    spr(47,x,y)
    y = y + 8
   elseif hills[i]==7 then
    spr(45,x,y,1,1,1)
    y = y + 0
   elseif hills[i]==8 then
    spr(44,x,y,1,1,1)
    y = y + 8
   elseif hills[i]==9 then
    spr(46,x,y)
    y = y - 8
   else
    spr(hills[i],x,y-1)
    x = x - 8
   end
   x = x + 8
  end
 end
 
 
 
-->8
--dust and clouds and sky
dustkicktime=0

clouds={{x=127,
      y=75,
      spd=0.7,
      t=25,
      lyr=1}}
clouddist=30

day=true
sunspd=0.2
sunx=27
suny=30
moonx=0
moony=0
sunradius=7
sunsetphase=0

dust=39
dustdist=30
-- 39->43
dusts={}


 function dustspawn()
  if dustdist < distance then
   add(dusts, 
     {x=127,y=groundy,t=rand(39,43)})
   dustdist = 
   distance+rand(12,19)
  end
 end
 
 function dustmove()
  for i=1, #dusts do
   dusts[i].x = dusts[i].x + speed
  end
 end
 
 function dustdespawn()
  for i=#dusts-1,1,-1 do
   if dusts[i].x < 0 then 
    del(dusts,dusts[i])
   end
  end
 end
 
 function dustdraw()
  for i=1, #dusts do
   spr(dusts[i].t,
   dusts[i].x,dusts[i].y)
  end
 end
 
 function cloudspawn()
  if clouddist < distance then
   sp=rand(30,70)/100
   l=1
   if sp < hillsspeed then
    l=0
   end 
   r=add(clouds, 
     {x=127,
      y=rand(25,75),
      spd=sp,
      t=25,
      lyr=l}) 
   clouddist = 
   distance+rand(30,100)
  end
 end
 
 function cloudmove()
  for i=1, #clouds do
   clouds[i].x = clouds[i].x + clouds[i].spd * speed
  end
 end
 
 function clouddespawn()
  for i=#clouds-1,1,-1 do
   if clouds[i].x < -16 then 
    del(clouds,clouds[i])
   end
  end
 end
 
 function cloudsdraw(layer)
  for i=1, #clouds do
   if clouds[i].lyr==layer then 
    spr(clouds[i].t, clouds[i].x, clouds[i].y, 2, 1)
   end
  end
 end
__gfx__
00000000000555500000000000055550055550000777777000000000077777700007700077000077777777770777777077000077777777777777777000000000
00000000005575550005555000577755555550007700007706666600777000770077770077700777777000007700007777000077777000007777777700000000
00700700505575550055755550575755577755550777777066606660770000770777077077777777777000007700007777000077777000007700007700000000
00077000505555555055755550577755575755500000000066000660770000007770007777777777777770007700007777000077777770007700007700000000
00077000555555555055555555555555577755500000000066000660770077777770007777077077777000007700007777000077777000007777777000000000
00700700555555005555555555555500055555550000000006666600770000777777777777000077777000007700007707700770777000007707770000000000
00000000055555005555550005555500000055500000000060000060777000777770007777000077777000007700007700777700777000007700777000000000
00000000005005000500005000500500005555000000000006666600077777707770007777000077777777770777777000077000777777777700077700000000
01000000000550000000000000666600000000000000000000000000000000000000000000000000000000006000000000000006000000006000000600000000
17100000005555050000000006777760000000000000000000000000000000000000000000000000000000007600000000000067000660007660066700000000
17710000505555050000000067777776000000000000000000000000000000000000000000000006600000007760000000000677000666007776677700000000
17771000505555550066066667777776000006666600000000000000005550000000000000000067760660007776000000006777006660007777777700000000
17777100555555500677677767777776000067777766000000000000505550000055500000000677776776007777600000067777000660007777777700000000
17711000555555006777777777777776000677777777600000000000555500005055500000666777777777607777760000677777000660007777777700066000
01171000055555006777777777777776066776666667766000000000055500005555000006777777777777607777776006777777000660007777777706677660
00000000005555006666666666666666666666666666666600000000500050000555000066766666666666607777777667777777000660007777777767777776
00000000000055550000555500000000000000000000000000000000000000000000000000000000000000000000000000000000000000666600006600000000
00000000000575550005755500000000000000000000000000000000000000060660000000006606000006600000000000000000000066777766667700000000
00000000000555000005550000000055550000000000005555000000066600000000000000000000000000000000066000000000006677777777777700000000
00000000050555500505555000000575550000000000057555000000000000000060660006600000066600000066000000000000667777777777777700000000
00000000055555000555550055555555000000005555555500000000000066600000000000000000000000000000000000000066777777777777777700000000
00000000005555050055550000555555500000000055555550000000000000000000000000000000000000000000000000006677777777777777777700000000
00000000050000000000000000000000000000000500000500000000000000000000000000000000000000000000000000667777777777777777777700666600
00000000000000000050050000500050000000000000000000000000000000000000000000000000000000000000000066777777777777777777777766777766
00100000001000000010000000100000001000000010000000000000000060000777077077777777077077077777777000000000000000007777777700007770
01a100000171000001f1000001910000014100000121000000000000000000007700770777777700770777077700770700006060000060007777777707777670
01a111000171110001f1110001911100014111000121110000000000006000007707777777777770770707777770777000606060000066007777777777676677
19a4aa101f79771019f4ff1014929910124144101121221000000000006060000770770770077777077000707777770700606660000060007777777776666667
1aa499101779ff101ff4991019924410144122101221111000000000006660000000000000000000000000000000000000666000000060007777777777766777
1aa9aa10177f77101ff9ff1019949910144244101221221000000000006666000000000000000000000000000000000000006000000060007777777700000000
199491001ff9f1001994910014424100122121001222110000000000066666000000000000000000000000000000000000006000000060007777777700000000
01111000011110000111100001111000011110000111100000000000066666000000000000000000000000000000000000006000000060007777777700000000
cccc7777777777777777777777cccccccccccccccccccccccccccccc555555555555555555555555555555556666666665555555555555550000000007757000
ccc775577777777777777777777ccccccccccccccccccccc77cc7c7c555555555555555555555555555555556668886665555555555558550000000077557000
ccc757557757557557555777657ccccccccccccccc777cc777ccc7cc55775775577777777777777777777775668878a665599955555597f50000000775557000
ccc755757755755555577777567cccccccccccccccccccc77ccc7c7c557757755775575755555575557777756637c7a6655aaaaa555a777e0000007755577000
ccc775577777777777777777777ccccccccccccccccccccccccccccc5555555557755755775755557577777566337aa6655accca5555b7d50777777555570000
777777777777777777777777777777777777777777777777777777775577577557577777777777777777777566633a66655acaca55555c557755575555570000
77777777777777766666666666666666666666666667777555777557557757755777777777777777777777756666666665555555555555557557555555577000
7757776777077766666666666666666666666666656677557557777755555555555555555555555555555555ccccccccc5555555555555555555555555557777
75557666707077666666666677777777555555555656775555577557555555555555555555555555555555555555555555555555555555557555555555555555
77577767770777666666666677777777555555556566775777577777555555555555555555555555555555555555555555555555555555557777755555555557
77777777777777766666666677777777555555556667777555777557555555555557777777555655555555755655557775777555577777550000775555555777
77777777777777777777777777777777555555557777777777777777555555755557555557755656555957757565557775777555577777550000077777777700
55555555555555555555555577777777555555555555555555555555555557575557577757755656565957757565555555555555575557550000000000000000
00000000000000000000000077777777555555550000000000000000555575557557555557755656565557757565577577577775577777550000000000000000
00000000000000000000000077777777555555550000000000000000555555555557777777555656565955755655567577577775555755550000000000000000
00000000000000000000000077777777555555550000000000000000555555555555555555555555555555555555565555555555555555550000000000000000
00000000000000000000000055555550000000000000000000000000000000000000000000000000000007777770000000000000000000000000000000000000
00000000555555500000000557555555000000000000000000000000000000000000000000000000000077555577000000000000000000000000000000000000
00000005575555550000000557555555000000000000000000000000000000000000000000000000077775555557000000000000000000000000000000077777
00000005575555550500000555555555000000000000000000000000000000000000000000000000775775555557000000000005555555000000000000775555
05000005555555550500000555550000000000000000000000000000000000000000000000000000755575555557000000000055755555500000000007757777
05000005555500000550000555555550000000000000000055555550000000000000000000000000755575555557777000500055755555500000000007575577
05500005555555500550005555550000555500005555555557555555000000000000000055555550755575555557757700500055555555500000000077575575
05500055555500000555005555550000005555555555555557555555555500005555555557555555755555555557555705000055550000000000000075755575
05550055555500000055555555550000000055555555555555555555005555555555555557555555755555555557555705000055555555000000000075755755
00555555555500000055555555500000000005555555555555500000000055555555555555555555775555555557555705500555555500000000000075755755
00555555555000000055555555505500000000555555555555555550000005555555555555500000077775555555555705555555555500000000000075755755
00555555555000005505555555055500000550055555550000000000000000555555555555555550000075555555555700555555555505500000000075755755
00055555550000005550000000055000000555000000000055500000000000055555550000000000000075555555557700555555000005500000000075755755
00000000000000000550000000000000000055000000000555000000000000000000000000000000000075555557777000555555055055000000000077575575
00005500550000000000000000000000000000000000000000000000000000550000005500000000000075555557000000055550555000000000000007575575
00005550555000000000000000000000000000000000000000000000000000555000005550000000000075555557000000000000550000000000000007775575
00000000000000000055500000000000000000000000000000000000000000000000000000000000000000007700007700000000000000000000000000000000
00000000555555500555505000000000000000000000000000000000000000000000000000000000000000007077000700000000000000000000000000000000
00000005777555550555505000055000000000000000000000000000000000000000700000077000000000000770700000000000000000000000000000000000
00000005757555550555505000055500055500000055500000000000000000000007700000070000000000000700770000000000000000000000000000000000
05000005777555550555505555005500555505000055550000000000000000000007000000770000000000000700770000000000000000000000000000000000
05000005555000000577755555550000555505000000000005500000000000000007000000700000000000000770700000000000000000000000000000000000
05500005555555500575755555555000555505005555500005550000000000000077000000700000000000007077000700000000000000000000000000000000
05500055555500000577755555555000555505555555555500550000007000000077000000000000000000007700007700000000000000000000000000000000
05555555555500000055555555555000575755555555555555000005007000000077000000000000000000000000000000000000000000000000000000000000
00555555555500000000000555555000557555555555555555555555007000000070000000000000000000000000000000000000000000000000000000000000
00555555555000000000000055555000575755555555555555555500077000000070000000000000000000000000000000000000000000000000000000000000
00555555555055000000000055555000055555555555555555550000077000000070000000000000000000000000000000000000000000000000000000000000
55055555550555000000000055555000000000555555555550000000070000000070000000000000000000000000000066060666600666066060000000000000
55500000000550000000005555550550000000000000000000000000070000000070000000000000000000000000000066060066006600066060000000000000
05500000000000000000555550005550000000000000000000000000070000000000000000000000000000000000000066660066006606066660000000000000
00000000000000000000000000005500000000000000000000000000000000000000000000000000000000000000000066060666600666066060000000000000
00000000077570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000775570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000007755570000000000000000000000000000000000005500000055000000550000055500000550500005555000005550000555500000550000005500000
00000077555770000000000000000000000000666666000055050000555000005005000000550000550500005500000055000000005500005505000050550000
07777775555700000777770000000000000066777777600055050000055000000055000055500000550500005500000055500000005500000550000055550000
77555755555700007755577770000000000677777777760055050000055000000550000000550000555500005555000055050000055000005505000000550000
75575555555770007557555577777000006777766667776055050000055000005500000000550000000500000055000055050000055000005505000050550000
55555555555577775555555555557777666666600006666605500000555500005555000055500000000500005550000005500000055000000550000005500000
75555555555555557555555555555555000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
77777555555555577777755555555557000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00007755555557770000775555555777000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000777777777000000077555577700000000666066000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000007755577000000066777677600006600000666000006660000066600000606600006666000006660000666600000666000066600000
00000000000000000000000775557000000677777777760066060000066000000066000000660000606600006600000066000000006600006606000066660000
00000000000000000000000077557000006777777777766066060000066000006600000006660000666600000066000066660000066000006066000000660000
00000000000000000000000007757000666666666666666606600000666600006666000066600000006600006660000006660000066000006660000066600000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000077770000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000777777000000
07700000077000000770000077700000770700007777000007770000777700000770000007700000000000000000000000000000000000000007777000000000
77070000777000007007000000770000770700007700000077000000007700007707000070770000000000000000000000000000000000000007000777777000
77070000077000000077000077700000770700007700000077700000007700000770000077770000000000000000000000000000000000000000777777777700
77070000077000000770000000770000777700007777000077070000077000007707000000770000000000000000000000000000000000000007770000077700
77070000077000007700000000770000000700000077000077070000077000007707000070770000000000000000000000000000000000000070007777707000
07700000777700007777000077700000000700007770000007700000077000000770000007700000000000000000000000000000000000000006677777770000
55555500555555500555550005555550000000000000000000000000000000000000000000000000000000000000000000000000000000000067767777770000
55000550005550005500005055000055000000000000000000000000000000000000000000000000000000000000000000000000000000000067767077070000
55000550005550005500000055000055000000000000000000000000000000000000000000000000000000000000000000000000000000000006677077070000
55555500005550005500000055000055000550000000000000000000000000000000000000000000000000000000000000000000000000000000776677660000
55000000005550005500000055000055000550000000000000000000000000000000000000000000000000000000000000000000000000000000777777770000
55000000005550005500000055000055000000000000000000000000000000000000000000000000000000000000000000000000000000000000777777770000
55000000005550005500005055000055000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
55000000555555500555550005555550000000000000000000000000000000000000000000000000000000000000000000000000000000000077777777766700
00000000000000005555550055555550550005500555555000000000000000000000000000000000000000000000000000000000000000000077777777766700
00000000000000005500055000555000550005505500005500000000000000000000000000000000000000000000000000000000000000000077777777766700
00000000000000005500005000555000555005505500005500000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000550005500005000555000555505505500005500000000000000000000000000000000000000000000000000000000000000000007777777667000
00000000000550005500005000555000550555505500005500000000000000000000000000000000000000000000000000000000000000000007777777667000
00000000000000005500005000555000550055505500005500000000000000000000000000000000000000000000000000000000000000000007777777667000
00000000000000005500055000555000550005505500005500000000000000000000000000000000000000000000000000000000000000000000777776670000
00000000000000005555550055555550550005500555555000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007700070077007777
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007707070077007700
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007777770077007770
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000777700077777777
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007707077000000777
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007707770700007700
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000770770700007700
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000770077000000777
__label__
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777775555555555557777555555555555557777555555555577777755555555555577777777777777777777777777777777777777777777777777
77777777777777775555555555557777555555555555557777555555555577777755555555555577777777777777777777777777777777777777777777777777
77777777777777775555777777555577777755555577777755557777777755775555777777775555777777777777777777777777777777777777777777777777
77777777777777775555777777555577777755555577777755557777777755775555777777775555777777777777777777777777777777777777777777777777
77777777777777775555777777555577777755555577777755557777777777775555777777775555777777777777777777777777777777777777777777777777
77777777777777775555777777555577777755555577777755557777777777775555777777775555777777777777777777777777777777777777777777777777
77777777777777775555555555557777777755555577777755557777777777775555777777775555777777555577777777777777777777777777777777777777
77777777777777775555555555557777777755555577777755557777777777775555777777775555777777555577777777777777777777777777777777777777
77777777777777775555777777777777777755555577777755557777777777775555777777775555777777555577777777777777777777777777777777777777
77777777777777775555777777777777777755555577777755557777777777775555777777775555777777555577777777777777777777777777777777777777
77777777777777775555777777777777777755555577777755557777777777775555777777775555777777777777777777777777777777777777777777777777
77777777777777775555777777777777777755555577777755557777777777775555777777775555777777777777777777777777777777777777777777777777
77777777777777775555777777777777777755555577777755557777777755775555777777775555777777777777777777777777777777777777777777777777
77777777777777775555777777777777777755555577777755557777777755775555777777775555777777777777777777777777777777777777777777777777
77777777777777775555777777777777555555555555557777555555555577777755555555555577777777777777777777777777777777777777777777777777
77777777777777775555777777777777555555555555557777555555555577777755555555555577777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777755555555555577775555555555555577555577777755557777555555555555777777777777777777
77777777777777777777777777777777777777777777777755555555555577775555555555555577555577777755557777555555555555777777777777777777
77777777777777777777777777777777777777777777777755557777775555777777555555777777555577777755557755557777777755557777777777777777
77777777777777777777777777777777777777777777777755557777775555777777555555777777555577777755557755557777777755557777777777777777
77777777777777777777777777777777777777777777777755557777777755777777555555777777555555777755557755557777777755557777777777777777
77777777777777777777777777777777777777777777777755557777777755777777555555777777555555777755557755557777777755557777777777777777
77777777777777777777777777777777777777555577777755557777777755777777555555777777555555557755557755557777777755557777777777777777
77777777777777777777777777777777777777555577777755557777777755777777555555777777555555557755557755557777777755557777777777777777
77777777777777777777777777777777777777555577777755557777777755777777555555777777555577555555557755557777777755557777777777777777
77777777777777777777777777777777777777555577777755557777777755777777555555777777555577555555557755557777777755557777777777777777
77777777777777777777777777777777777777777777777755557777777755777777555555777777555577775555557755557777777755557777777777777777
77777777777777777777777777777777777777777777777755557777777755777777555555777777555577775555557755557777777755557777777777777777
77777777777777777777777777777777777777777777777755557777775555777777555555777777555577777755557755557777777755557777777777777777
77777777777777777777777777777777777777777777777755557777775555777777555555777777555577777755557755557777777755557777777777777777
77777777777777777777777777777777777777777777777755555555555577775555555555555577555577777755557777555555555555777777777777777777
77777777777777777777777777777777777777777777777755555555555577775555555555555577555577777755557777555555555555777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777555555555555557777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777555555555555557777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777755557755555555555577777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777755557755555555555577777777777777777777777777777777777777777766777777777777777777777777777
77777777777777777777777777777777777777755557755555555555577777777777777777777777777777777777777776677667777777777777777777777777
77777777777777777777777777777777777777755557755555555555577777777777777777777777777777777777777767777776777777777777777777777777
77777777777777777777777777755777777777755555555555555555577777777777777777777777777777777777776677777777677777777777777777777777
77777777777777777777777777755777777777755555555555555555577777777777777777777777777777777777667777777777767777777777777777777777
77777777777777777777777777755777777777755555555557777777777777777777777777777777777777777766777777777777776777777777777777777777
77777777777777777777777777755777777777755555555557777777777777777777777777777777777777776677777777777777777677777777777777777777
77777777777777777777777777755557777777755555555555555557777777777777777777777777777777667777777777777777777767777777777777777777
77777777777777777777777777755557777777755555555555555557777777777777777777777777777766777777777777777777777776777777777777777777
77777777777777777777777777755557777775555555555557777777777777777777777777777777776677777777777777777777777777677777777777777777
77777777777777777777777777755557777775555555555557777777777777777777777777777777667777777777777777777777777777767777777777777777
77777777777777777777777777755555577775555555555557777777777777777777777777777766777777777777777777777777777777776777777777777777
77777777777777777777777777755555577775555555555557777777777777777777777777776677777777777777777777777777777767677677777777777777
77777777777777777777777777777555555555555555555557777777777777777777777777667777777777777777777777777777776767677767777777777777
77777777777777777777777777777555555555555555555557777777777777777777777766777777777777777777777777777777776766677776777777777777
77777777777777777777777777777555555555555555555777777777777777777777776677777777777777777777777777777777776667777777677777777777
77777777777777777777777777777555555555555555555777777777777777777777667777777777777777777777777777777777777767777777767777777777
77777777777777777777777777666555555555555555555775555777777777777766777777777777777777777777777777777777777767777777776777777777
77777777777777777777777766777555555555555555555775555777777777776677777777777777777777777777777777777777777767777777777677777777
67777777777777777777777675555775555555555555577555555777777777667777777777777777777777777777777777777777777777777777777766777766
76777777777777777777776775555775555555555555577555555777777766777777777777777777777776677777777777777777777777777777777777666677
77677777777777777777767775555557776777777777777555577777776677777777777777777777777777777777777777777777777777777777777777777777
77767777777777777777677775555557777677777777777555577777667777777777777777777777766677777777777777777777777777777777777777777777
77776777777777777776777777755557777767777777777777777766777777777777777777777777777777755555555777777777777777777777777777777777
77777677777777777767777777755557777776777777777777776677777777777777777777777777777777755555555777777777777777777777777777777777
77777767777777777677777777777777777777677777777777667777777777777777777777777777777775555555555557777777777777777777777777777777
77777776777777776777777777777777777777767777777766777777777777777777777777777777777775555555555557777777777777777777777777777777
77777777667777667777777777777777777777776777777677777777777777777777777777777775577775555555555557777777777777777777777777777777
77777777776666777777777777766777777777777667766777777777777767777777777777777775577775555555555557777777777777777777777777777777
77777777777777777777777777766677777777777776677777777777777766777777777777777555555775555555555557777777777777777777777777777777
77777777777777777777777777666777777777777777777777777777777767777777777777777555555775555555555557777777777777777777777777777777
77777777777777777777777777766777777777777777777777777777777767777777777777777555555775555555555557777777777777777777777777777777
77777777777777777777777777766777777777777777777777777777777767777777777777777555555775555555555557777777777777777777777777777777
77777777777777777777777777766777777777777777777777777777777767777777777777777555555775555555555557777557777777777777777777777777
77777777777777777777777777766777777777777777777777777777777767777777777777777555555775555555555557777557777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777555555555555555555557755555577777777777777777777777
77777667777777777777777777777777777777777777777777777777777777777777777777777555555555555555555557755555577777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777555555555555555555557755555577777777777777777777777
76667777777777777777777777777777777777777777777777777777777777777777777777777555555555555555555557755555577777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777775555555555555555557755555577777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777775555555555555555557755555577777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777775555555555555555555577777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777775555555555555555555577777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777775555555555555555555577777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777775555555555555555555577777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777775555555555555555557777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777775555555555555555557777777777777777777777777
66666666666666666666666666666666666666666666666666666666666666666666666666666666666775555555555557777777766666666666666666666666
66666666666666666666666666666666666666666666666666666666666666666666666666666666666775555555555557777777766666666666666666666666
77777777777777777777777777777777777777777777777777777777777777777777777777777777777775555555555557777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777775555555555557777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777775555555555557777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777775555555555557777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777667766667777777777777777776666776677777777776666777777777777777777777766776666777777777777777777666677667777777777
77777777777777667766667777777777777777776666776677777777776666777777777777777777777766776666777777777777777777666677667777777777
77666666777777777777777777777777777777777777777777777777777777777777777766666677777777777777777777777777777777777777777777777777
77666666777777777777777777777777777777777777777777777777777777777777777766666677777777777777777777777777777777777777777777777777
77777777777777777777667766667777776666777777777777666666777777777777666677777777777777777766776666777777666677777777777766666677
77777777777777777777667766667777776666777777777777666666777777777777666677777777777777777766776666777777666677777777777766666677
77777777666666777777777777777777777777777777777777777777777777777777777777777766666677777777777777777777777777777777777777777777
77777777666666777777777777777777777777777777777777777777777777777777777777777766666677777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777

__map__
4041424344444444444444444444454600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
5051525252525252525252525252555600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000001f0000000000001f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000002c2d3e1b0000002c2d3e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000002f000000002c2d3e3e3e3c1b001c3e3e3e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000001b001c3e1b002c2d3e3e2a3e3e3e3e2e3e3e3e3c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000003e2e3e1d3e1e3e3d3e3e3e3e3e3e3e3e3e3e3e3e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000002a3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e3e2a3e3e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
4748494a4b4c4d54545758595a5b5c5d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__sfx__
01030000243502330022300223002230021300203001f300203001f3001e3001c3001e3001d3001c300293001c3001b3001a3002d3002c3002a300000002430000000203001c300143000e3000e3000000000000
000500000c4600145301453244032540326400264002640024400234001f4001840011400000001000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000
00050000243502335022350223002235021350203501f300203501f3501e3501c3001e3501d3501c350293001c3501b3501a3502d300193501835017350243001535014350133500f3000c3500c350043000c350
000200000d65000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000200000c3500a350053500435002350023500235000350003500030000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00090000243502b3502b3402b3202b30013300243001a300243001130013300153001730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
010500002477017700247700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
